// 切换表格显示/隐藏状态
document.getElementById('view-button').addEventListener('click', function() {
    var button = document.getElementById('view-button');

    if ($('#data-table').is(":visible")) {
        $('#data-table').hide();  // 隐藏表格
        button.innerHTML = '查看文件内容';  // 改变按钮文字
        table.destroy();  // 销毁 DataTable 实例
    } else {
        $('#data-table').show();  // 显示表格
        button.innerHTML = '隐藏文件内容';  // 改变按钮文字
        table = $('#data-table').DataTable({  // 重新初始化 DataTable
            "pageLength": 5,
            "lengthMenu": [5, 10, 20],
            "language": {
                "lengthMenu": "每页 _MENU_ 条记录",
                "zeroRecords": "没有找到匹配的记录",
                "info": "显示第 _START_ 到 _END_ 条记录，总共 _TOTAL_ 条记录",
                "infoEmpty": "没有记录",
                "infoFiltered": "(从 _MAX_ 条记录中过滤)"
            }
        });
    }
});

// 显示/隐藏数据探索按钮框
document.getElementById('explore-button').addEventListener('click', function() {
    var exploreOptions = document.getElementById('explore-options');

    if (exploreOptions.style.display === 'none') {
        exploreOptions.style.display = 'block';  // 显示选择框
    } else {
        exploreOptions.style.display = 'none';  // 隐藏选择框
    }
});

// 按钮点击切换样式
document.querySelectorAll('.btn-explore').forEach(function(button) {
    button.addEventListener('click', function() {
        // 切换选中按钮的样式
        button.classList.toggle('active');
    });
});

// 监听 "数据探索" 按钮点击事件
document.getElementById('explore-button').addEventListener('click', function () {
    // 发送POST请求到后端的/explore路由
    fetch('/explore', {
        method: 'POST',
    })
    .then(response => response.json())  // 解析JSON格式的响应
    .then(data => {
        if (data.error) {
            // 如果后端返回错误，显示错误信息
            alert('数据探索失败: ' + data.error);
        } else {
            // 请求成功后，保存返回的路径信息到全局变量
            window.wordcloudPath = data.wordcloud;  // 保存返回的词云图路径
        }
    })
    .catch(error => {
        // 如果请求发生错误，显示提示
        alert('请求失败: ' + error.message);
    });
});

// 监听 "生成词云图" 按钮点击事件
document.getElementById('generate_wordcloud').addEventListener('click', function() {
    const wordcloudImage = document.getElementById('wordcloud-image');

    // 判断是否已经有生成的词云图路径
    if (window.wordcloudPath) {
        // 如果图片已经显示，则隐藏图片
        if (wordcloudImage.style.display === 'block') {
            wordcloudImage.style.display = 'none';  // 隐藏图片
        } else {
            // 否则，更新图片的 src 属性以显示词云图
            wordcloudImage.src = window.wordcloudPath;

            // 确保图片显示
            wordcloudImage.style.display = 'block';  // 显示图片
        }
    } else {
        // 如果路径未定义，提示用户先进行数据探索
        alert('请先点击数据探索按钮');
    }
});
// 默认隐藏词频统计图图片
document.getElementById('wordlist-image').style.display = 'none';

// 监听点击生成词频统计图按钮
document.getElementById('generate_wordlist').addEventListener('click', function () {
    const wordlistImage = document.getElementById('wordlist-image');

    // 切换显示/隐藏状态
    if (wordlistImage.style.display === 'none') {
        // 设置图片路径并显示
        wordlistImage.src = '/static/images/wordlist/wordlist.png';
        wordlistImage.style.display = 'block';
    } else {
        // 隐藏图片
        wordlistImage.style.display = 'none';
    }
});
// 监听点击生成评分统计图按钮
document.getElementById('generate_ScoreList').addEventListener('click', function () {
    const scoreImage = document.getElementById('scorelist-image');

    // 切换图片的显示/隐藏状态
    if (scoreImage.style.display === 'none' || scoreImage.style.display === '') {
    // 设置图片路径并显示
        scoreImage.src = '/static/images/scorelist/scorelist.png';
        scoreImage.style.display = 'block'; // 显示评分统计图
    } else {
        scoreImage.style.display = 'none'; // 隐藏评分统计图
    }
});

document.addEventListener('DOMContentLoaded', function () {
    // 点击注销按钮
    const logoutBtn = document.getElementById('logout-btn');
    if (logoutBtn) {  // 确保该元素存在
        logoutBtn.addEventListener('click', function () {
            console.log('退出登录按钮被点击了');  // 这个日志可以检查事件是否触发

            fetch('/logout', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify({})  // 如果有需要，添加请求体内容
            })
                .then(response => response.json())
                .then(data => {
                    if (data.success) {
                        window.location.href = data.redirect_url;  // 重定向到登录页面
                    } else {
                        console.error("退出登录失败，请重试。");
                    }
                })
                .catch(error => {
                    console.error('退出登录失败:', error);
                });
        });
    }
});
 document.getElementById('Data-clear').addEventListener('click', function () {
        if (confirm('确定要清除缓存吗？')) {
            fetch('/clear-cache', {
                method: 'POST',
            })
            .then(response => response.json())
            .then(data => {
                if (data.success) {
                    alert('缓存已成功清除！');
                } else {
                    alert('清除缓存时出错：' + data.error);
                }
            })
            .catch(error => {
                alert('请求失败：' + error.message);
            });
        }
    });
 // 监听点击情感分析按钮
document.getElementById('Sentment_analysis').addEventListener('click', function () {
    const sentimentChart = document.getElementById('sentiment-chart');

    // 如果情感分析图是隐藏的或者没有显示
    if (sentimentChart.style.display === 'none' || sentimentChart.style.display === '') {
        fetch('/sentiment-analysis', {
            method: 'POST',
        })
        .then(response => response.json())
        .then(data => {
            if (data.success) {
//                alert('情感分析完成！请查看结果可视化。');
                // 更新情感分析图的路径
                sentimentChart.src = data.sentiment_chart;
                sentimentChart.style.display = 'block'; // 显示图片
            } else {
                alert('情感分析出错：' + data.error);
            }
        })
        .catch(error => {
            alert('请求失败：' + error.message);
        });
    } else {
        sentimentChart.style.display = 'none'; // 如果已经显示，点击后隐藏
    }
});

